home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 October / EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso / Aminet / comm / mail / thor201.lha / THOR_2.0 / thor.lha / rexx / CheckDataBase.br < prev    next >
Text File  |  1995-05-15  |  3KB  |  114 lines

  1. /* CheckDataBase.br
  2.  *
  3.  * Script by: Eivind Nordseth, Ultima Thule Software.
  4.  */
  5.  
  6.     parse arg argument
  7.  
  8.     template = 'BBSNAME/A,DELETE/S'
  9.  
  10.     if (argument = '' | argument = '?') then 
  11.     do
  12.         say '$VER: CheckDataBase 3.2 (07.10.94)'
  13.         say 'Checks the messages in one or ALL BBSes. If the DELETE switch is used will '
  14.         say 'all messages which are impossible to read be marked as deleted.'
  15.         say 'Template:' template
  16.         exit
  17.     end
  18.  
  19.     if ~show('p', 'BBSREAD') then do
  20.         address command
  21.             "run >nil: `GetEnv THOR/THORPath`bin/LoadBBSRead"
  22.             "WaitForPort BBSREAD"
  23.     end
  24.  
  25.     address BBSREAD
  26.  
  27.     READARGS template ARGS CMDLINE argument
  28.     if(rc ~= 0) then 
  29.     do
  30.         say BBSREAD.LASTERROR
  31.         exit
  32.     end
  33.  
  34.     options failat 31 
  35.  
  36.     if upper(ARGS.BBSNAME) = "ALL" then
  37.     do
  38.         GETBBSLIST stem BBSLIST 
  39.         if(rc ~= 0) then 
  40.         do
  41.             say BBSREAD.LASTERROR
  42.             exit
  43.         end
  44.  
  45.         do n=1 to BBSLIST.COUNT
  46.             say 'Checking bbs:' BBSLIST.n
  47.  
  48.             GETCONFLIST stem CONFLIST '"'||BBSLIST.n||'"'
  49.             if(rc ~= 0) then 
  50.             do
  51.                 say BBSREAD.LASTERROR
  52.                 exit
  53.             end
  54.             do i=1 to CONFLIST.COUNT
  55.                 say ' Checking conference:' CONFLIST.i
  56.  
  57.                 GETCONFDATA '"'||BBSLIST.n||'"' '"'||CONFLIST.i||'"' stem CONFDATA
  58.  
  59.                 do k = CONFDATA.FIRSTMSG to CONFDATA.LASTMSG
  60.                     READBRMESSAGE '"'||BBSLIST.n||'"' '"'||CONFLIST.i||'"' k datastem DATA headstem HEAD textstem TEXT 
  61.  
  62.                     if(rc ~= 0) then 
  63.                     do
  64.                         Say '  Error reading message' k ':' BBSREAD.LASTERROR
  65.                         if ARGS.DELETE ~= 0 then 
  66.                         do
  67.                             say '  Marking message as deleted.'
  68.  
  69.                             UPDATEBRMESSAGE '"'||BBSLIST.n||'"' '"'||CONFLIST.i||'"' k SETDELETED
  70.                             if(rc ~= 0) then 
  71.                             do
  72.                                 say '  Unable to mark message as deleted:' BBSREAD.LASTERROR
  73.                             end
  74.                         end
  75.                     end
  76.                 end
  77.             end
  78.         end
  79.     end
  80.     else 
  81.     do
  82.         GETCONFLIST '"'||ARGS.BBSNAME||'"' stem CONFLIST
  83.         if(rc ~= 0) then 
  84.         do
  85.             say BBSREAD.LASTERROR
  86.             exit
  87.         end
  88.         do i=1 to CONFLIST.COUNT
  89.             say 'Checking conference:' CONFLIST.i
  90.  
  91.             GETCONFDATA '"'||ARGS.BBSNAME||'"' '"'||CONFLIST.i||'"' stem CONFDATA
  92.  
  93.             do k = CONFDATA.FIRSTMSG to CONFDATA.LASTMSG
  94.                 READBRMESSAGE '"'||ARGS.BBSNAME||'"' '"'||CONFLIST.i||'"' k headstem HEAD textstem TEXT datastem DATA
  95.  
  96.                 if(rc ~= 0) then 
  97.                 do
  98.                     Say ' Error reading message' k ':' BBSREAD.LASTERROR
  99.  
  100.                     if ARGS.DELETE ~= 0 then 
  101.                     do
  102.                         say '  Marking message as deleted.'
  103.  
  104.                         UPDATEBRMESSAGE '"'||ARGS.BBSNAME||'"' '"'||CONFLIST.i||'"' k SETDELETED
  105.                         if(rc ~= 0) then 
  106.                         do
  107.                             say '  Unable to mark message as deleted:' BBSREAD.LASTERROR
  108.                         end
  109.                     end
  110.                 end
  111.             end
  112.         end
  113.     end
  114.